iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

這四天我們已經完成 Web 主題了(ง๑ •̀_•́)ง,接著主題來到密碼學啦~廢話不多說馬上開始!

古典密碼學

密碼學為我們日常生活中的重要一環,舉凡網路上的訊息傳輸等等,都需要使用到加密技術。而現代的加密技術建立在數個世紀以來發展出來的古典密碼學基礎上。今天我們將會說明有關古典密碼學的小小知識。

密碼學的主要目的是確保訊息的隱密性,以避免被敵人或非授權人員獲知。古典密碼學中最早期的一個例子是凱撒密碼。

凱撒密碼 (Caesar Cipher)

凱撒密碼是一種替換加密法,將字母表中的每個字母根據預設的位移數字進行替換。例如,當位移為 3 時,A 會被替換為 DB 變成 E,以此類推。

例子:
明文:HELLO
加密(右位移3):KHOOR

ROT13

ROT13 是一種簡單的字母替換加密法,它是凱撒密碼的一個特例,位移值固定為 13。換句話說,ROT13 將字母表中的每個字母向後移動 13 個位置。例如,A 會被替換為 NB 會被替換為 O,依此類推,直到 Z 被替換為 M。由於英文字母總共有 26 個,當位移 13 次後,再次應用 ROT13 就會回到原來的明文。加密過程非常簡單,沒有實際的安全性

例子:
明文:HELLO
加密:URYYB (H→U, E→R, L→Y, O→B)
再一次加密:"HELLO" (UHU, R→E, Y→L, B→O)

維吉尼亞密碼 (Vigenère Cipher)

凱薩密碼的變體,一種多表替換加密法,使用一個關鍵字(key)來決定每個字母的位移量。維吉尼亞密碼透過不斷變換位移值,增加了加密的複雜度,使得破譯更加困難。

明文:HELLO
關鍵字:KEY

(重複關鍵字之後)
明文:HELLO
關鍵字:KEYKE

(決定明文字母的位移量)
K = 10, E = 4, Y = 24

H + K(10) = R(17)
E + E(4) = I(8)
L + Y(24) = J(9)
L + K(10) = V(21)
O + E(4) = S(18)

加密結果:
明文:HELLO
密文:RIJVS

古典密碼學的弱點

利用頻率分析法,可以輕易透過分析字母出現的頻率來破解凱撒密碼。維吉尼亞密碼雖然有位移的複雜性,但在密文足夠長的情況下,也會受到類似的頻率分析法攻擊。此外,替換密碼和換位密碼同樣也容易被破譯,特別是在加密訊息的長度夠長時。

老樣子進入 lab 時間

LAB_1 - 13
https://ithelp.ithome.com.tw/upload/images/20240921/20169462U91UVxTksY.png

題目直接問 do you know what ROT13 is?,那我們直接使用線上的 ROT13 工具,把題目那串疑似 flag 的字串丟進去工具,成功取得 flag
https://ithelp.ithome.com.tw/upload/images/20240921/20169462y7grf4G5C9.png

LAB_2 - Vigenere
https://ithelp.ithome.com.tw/upload/images/20240921/20169462FnIJaRktbl.png

題目敘述中的 message 給了以下這串密文。那如題目名稱加上 CYLAB 這個 key .,八九不離十跟 維吉尼亞密碼 有關
rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_cc82272b}

一樣使用線上的 工具,右邊輸入框輸入密文,按下 decoder 之後 flag 就出來啦~
https://ithelp.ithome.com.tw/upload/images/20240921/20169462lM1phmviTv.png

練習就到這邊,以下是參考資料,請搭配服用:
古典密碼學
ROT13
維吉尼亞密碼

內文如有錯誤,還請不吝指教~


上一篇
Day6 - [Web] SQL Injection
下一篇
Day8 - [Crypto] 編碼才不是加密
系列文
新手村預備,CTF 小菜雞跌跌撞撞的旅程12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言